﻿// -------------------------------------------------------------------------
//    @FileName         :    NFDistanceUtil.h
//    @Author           :    Gao.Yi
//    @Date             :    2025-09-17
//    @Email			:    445267987@qq.com
//    @Module           :    NFDistanceUtil
//    @Desc             :
//
// -------------------------------------------------------------------------

#pragma once

#include "NFComm/NFObjCommon/NFObject.h"

struct ColliderDesc;
struct Proto_Vector3;

class NFDistanceUtil
{
public:
    static int Distance(const Proto_Vector3* pVectorA, const Proto_Vector3* pVectorB);
    static int Distance3D(const Proto_Vector3* pVectorA, const Proto_Vector3* pVectorB);
    static int64_t SquareDistance(const Proto_Vector3* pVectorA, const Proto_Vector3* pVectorB);
    static int64_t SquareDistance3D(const Proto_Vector3* pVectorA, const Proto_Vector3* pVectorB);
    static bool IsInRange(const Proto_Vector3* pCentre, const Proto_Vector3* pPosition, int iDistance);
    static bool IsInCollider(const Proto_Vector3* pVector, const ColliderDesc* pCollider);
};
